#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<unistd.h>
#include <fcntl.h>
#include<string.h>



#define LOG_NORMAL "logNormal.txt"
#define LOG_ERROR "logError.txt"

int main()
{
  //C库
  fprintf(stdout,"hello fprintf\n");

  //系统调用
  const char*msg="hello write\n";
  write(1,msg,strlen(msg));

  fork();

  return 0;


  //int fd=open(LOG_NORMAL,O_WRONLY | O_CREAT | O_APPEND,0666);
  //if(fd<0)
  //{
  //  perror("open");
  //  return -1;
  //}

  //dup2(fd,1);

  //printf("hello world\n");
  //
  //close(fd);




//  //我们先关掉1号文件--stdout
//  close(1);
//  open(LOG_NORMAL,O_WRONLY | O_CREAT | O_APPEND);
//  
//  //再关掉2号文件--stderr
//  close(2);
//  open(LOG_ERROR,O_WRONLY | O_CREAT | O_APPEND);
//  
//  //标准输出
//  fprintf(stdout,"hello fprintf->stdout\n");
//  fprintf(stdout,"hello fprintf->stdout\n");
//  fprintf(stdout,"hello fprintf->stdout\n");
//  fprintf(stdout,"hello fprintf->stdout\n");
//  fprintf(stdout,"hello fprintf->stdout\n");
//
//  //标准错误
//  fprintf(stderr,"hello fprintf->stderr\n");
//  fprintf(stderr,"hello fprintf->stderr\n");
//  fprintf(stderr,"hello fprintf->stderr\n");
//  fprintf(stderr,"hello fprintf->stderr\n");
//  fprintf(stderr,"hello fprintf->stderr\n");
//

//  //我们首先关掉1号文件 -- stdout
//  close(1);
//  //然后我们打开log.txt文件，这样其文件描述符就是0
//  int fd1=open(LOG,O_WRONLY | O_CREAT | O_APPEND,0666);
//
//  //然后我们打印一些内容
//  printf("hello world\n");
//  printf("hello world\n");
//  printf("hello world\n");
//  printf("hello world\n");
//  printf("hello world\n");
//  printf("hello world\n");
//

//  close(0);
//  int fd1=open(LOG,O_RDONLY,0666);
//
//  int a,b;
//
//  scanf("%d %d",&a,&b);
//  printf("a=%d,b=%d\n",a,b);
//






  //printf("%d\n",stdin->_fileno);
  //printf("%d\n",stdout->_fileno);
  //printf("%d\n",stderr->_fileno);

  //FILE*fd=fopen(LOG,"w");
  //printf("%d\n",fd->_fileno);

  //fclose(fd);


  
  //  int fd1=open(LOG,O_CREAT | O_WRONLY,0666);
//  int fd2=open(LOG,O_CREAT | O_WRONLY,0666);
//  
//  //我们在这关闭0号文件--stdin
//  close(0);
//
//  int fd3=open(LOG,O_CREAT | O_WRONLY,0666);
//  int fd4=open(LOG,O_CREAT | O_WRONLY,0666);
//  int fd5=open(LOG,O_CREAT | O_WRONLY,0666);
//
//  printf("I am %d file\n",fd1);
//  printf("I am %d file\n",fd2);
//  printf("I am %d file\n",fd3);
//  printf("I am %d file\n",fd4);
//  printf("I am %d file\n",fd5);
//
  return 0;
}
